home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / DEF / Define / Sections / def-grammar < prev    next >
Text File  |  1998-10-23  |  2KB  |  72 lines

  1. def-grammar name element definition &rest elements definitions
  2.  
  3. def-grammar defines a grammar for a song, or a melody, and is normally used with the Class System. As it performs defsym definition for each element it can be used as a replacement of defsym when non-evaluated definitions are needed.
  4.  
  5. (def-grammar 'structure
  6.    song (intro middle ending)
  7.    intro (a b)
  8.    middle (am bm cm bm)
  9.    ending (ae be)
  10. )
  11.  
  12. The grammar is expanded with expand-grammar.
  13.  
  14. (expand-grammar song 2 'structure)
  15. --> (a a am bm cm bm ae be)
  16.  
  17. The grammar can be of the following types:
  18.  
  19. • determined non-recursive
  20.  
  21. (def-grammar 'structure
  22.    song (intro middle ending)
  23.    intro (a b)
  24.    middle (am bm cm bm)
  25.    ending (ae be)
  26. )
  27.  
  28. • non-determined non-recursive
  29.  
  30. (def-grammar 'structure
  31.    song (intro middle ending)
  32.    intro (a b)
  33.    intro (c d) ; double definition
  34.    middle (am bm cm bm)
  35.    ending (ae be)
  36. )
  37.  
  38. • non-determined recursive
  39.  
  40. (def-grammar 'structure
  41.    song (intro middle ending)
  42.    intro (a intro b) ; element defined directly by itself
  43.    middle (am bm cm bm)
  44.    ending (ae be song) ; or indirectly
  45. )
  46.  
  47. • determined non-recursive
  48.  
  49. (def-grammar 'structure
  50.    song (intro middle ending)
  51.    intro (a intro b) ; multiple recursive definitions
  52.    intro (a b intro) 
  53.    middle (am bm cm bm)
  54.    ending (ae be song)
  55.    ending (ae song be)
  56. )
  57.  
  58. def-grammar and defsym have a close relation. The following definitions are equal.
  59.  
  60. (def-grammar 'structure
  61.    song (intro ending)
  62.    intro (a b)
  63.    ending (c d)
  64. )
  65.  
  66. (initdef 'structure)
  67. (defsym song '(intro ending) :tree 'structure)
  68. (defsym intro '(a b) :tree 'structure)
  69. (defsym ending '(c d) :tree 'structure)
  70.  
  71. You can define as many grammars as needed to handle different aspects of the composition. With the Class System you'll be able to use multiple parallel grammars to control the composition formation.
  72.